<?php

class IngresoServiceUI {

    /**
     * @todo documentar
     */
    static function addScript() {
        $ingresoCursoScriptPath = Yii::app()->baseUrl . '/script/modules/carrera';
        $cs = Yii::app()->getClientScript();
        $cs->registerScriptFile($ingresoCursoScriptPath . '/ingresoService.js', CClientScript::POS_END);
        $cs->registerScript('cargar-ingresoService-variable', 'var ingresoService = new IngresoService();', CClientScript::POS_END);
    }

    /**
     * @todo documentar
     */
    static public function getSelectPeriodo(
    $form, $model, $modelAttributeName, $periodoObject, $programaAcademicoObject, $ingresoCursoObject, $ingresoActividadObject, $filtrarPorEntrevista = false) {
        echo $form->dropDownList(
                $model, $modelAttributeName, CHtml::listData(
                        PeriodoIngreso::model()->getPeriodosIngresosIdPeriodoActivo(), 'periodoingreso_id', 'periodoingreso_periodo'
                ), array(
            'onChange' => CHtml::ajax(array(
                //'beforeSend' => 'js:beforeSendState(' . $provinciaObject .','.Yii::t('core_labels', 'loading') . ');',
                'beforeSend' => "js:ingresoService.beforeSendPeriodo('" . $periodoObject . "','"
                . $programaAcademicoObject . "','"
                . $ingresoCursoObject . "','"
                . $ingresoActividadObject . "','"
                . t('Cargando...', 'nucleo_etiqueta') .
                "')",
                'type' => 'POST', //request type
                'url' => Yii::app()->createUrl('carrera/ProgramaAcademico/HTMLProgramaAcademicosPorIngreso'), //url to call.
                'success' => "js:function(data){ ingresoService.successSendPeriodo(data, '"
                . $periodoObject . "','"
                . $programaAcademicoObject . "','"
                . $ingresoCursoObject . "','"
                . $ingresoActividadObject . "','"
                . t('Seleccione', 'nucleo_etiqueta') .
                "');}",
                'data' => 'js:{id:$("#' . $periodoObject . '").val(),filtrarPorEntrevista:"' . $filtrarPorEntrevista . '"}'
                    )
            ),
            'prompt' => t('Seleccionar', 'nucleo_etiqueta'),
                )
        );
        echo $form->error($model, $modelAttributeName);
    }

    static public function getSelectProgramaAcademico($form, $model, $modelAttributeName, $periodoIngreso, $periodoObject, $programaAcademicoObject, $ingresoCursoObject, $ingresoActividadObject, $filtrarPorEntrevista = false) {


        $dataProgramasAcademicos = array();
        if (isset($periodoIngreso) && !is_null($periodoIngreso)) {//updated
            $dataProgramasAcademicos = CHtml::listData(
                            ProgramaAcademicoService::getProgramaAcademicosConTipoProgramaPorIngresoYEntrevista($periodoIngreso->periodoingreso_id, $filtrarPorEntrevista), 'programaacademico_id', 'programaacademico_nombre', 'tipoprogramaacademico_nombre'
            );
        }
        $eventProgramaAcademico = array('prompt' => t('Seleccionar', 'nucleo_etiqueta'));
        if (!is_null($ingresoCursoObject)) {
            $eventProgramaAcademico = array(
                'onChange' => CHtml::ajax(array(
                    //'beforeSend' => 'js:beforeSendState(' . $provinciaObject .','.Yii::t('core_labels', 'loading') . ');',
                    'beforeSend' => "js:ingresoService.beforeSendProgramaAcademico('" . $periodoObject . "','"
                    . $programaAcademicoObject . "','"
                    . $ingresoCursoObject . "','"
                    . $ingresoActividadObject . "','"
                    . t('Cargando...', 'nucleo_etiqueta') .
                    "')",
                    'type' => 'GET', //request type
                    'url' => Yii::app()->createUrl('carrera/IngresoCurso/HTMLIngresoCurso/'), //url to call.
                    //Style: CController::createUrl('currentController/methodToCall')
                    //'update'=>'#' . $cityObject, //selector to update
                    'success' => "js:function(data){ ingresoService.successSendProgramaAcademico(data, '"
                    . $periodoObject . "','"
                    . $programaAcademicoObject . "','"
                    . $ingresoCursoObject . "','"
                    . $ingresoActividadObject . "','"
                    . t('Seleccione', 'nucleo_etiqueta') .
                    "');}",
                    'data' => 'js:{periodoingreso_id:$("#' . $periodoObject . '").val(),programaacademico_id:$("#' . $programaAcademicoObject . '").val()}'
                        //leave out the data key to pass all form values through
                        )
                ),
                'prompt' => t('Seleccionar', 'nucleo_etiqueta'),
            );
        }



        echo $form->dropDownList(
                $model, $modelAttributeName, $dataProgramasAcademicos, $eventProgramaAcademico
        );
        echo $form->error($model, $modelAttributeName);
    }

    static public function getSelectIngresoCurso($form, $model, $modelAttributeName, $periodoIngreso, $programaAcademico, $periodoObject, $programaAcademicoObject, $ingresoCursoObject, $ingresoActividadObject, $filtrarPorEntrevista = false) {
        $dataProgramasAcademicos = array();
        if (isset($programaAcademico) && !is_null($programaAcademico)) {//updated
            $ingresoCurso = new IngresoCurso();
            $ingresoCurso->ingresocurso_periodoingreso_id = $periodoIngreso->periodoingreso_id;
            $ingresoCurso->ingresocurso_programaacademico_id = $programaAcademico->programaacademico_id;
            $dataProgramasAcademicos = CHtml::listData(
                            IngresoCursoService::getIngresoCursosporPeriodoIngresoYProgramaAcademico($ingresoCurso), 'ingresocurso_id', 'ingresocurso_descripcion'
            );
        }

        echo $form->dropDownList(
                $model, $modelAttributeName, $dataProgramasAcademicos, array(
            'onChange' => CHtml::ajax(array(
                //'beforeSend' => 'js:beforeSendState(' . $provinciaObject .','.Yii::t('core_labels', 'loading') . ');',
                'beforeSend' => "js:ingresoService.beforeSendIngresoCurso('" . $periodoObject . "','"
                . $programaAcademicoObject . "','"
                . $ingresoCursoObject . "','"
                . $ingresoActividadObject . "','"
                . t('Cargando...', 'nucleo_etiqueta') .
                "')",
                'type' => 'GET', //request type
                'url' => Yii::app()->createUrl('carrera/IngresoActividad/HTMLIngresoActividad/'), //url to call.
                //Style: CController::createUrl('currentController/methodToCall')
                //'update'=>'#' . $cityObject, //selector to update
                'success' => "js:function(data){ ingresoService.successSendIngresoCurso(data, '"
                . $periodoObject . "','"
                . $programaAcademicoObject . "','"
                . $ingresoCursoObject . "','"
                . $ingresoActividadObject . "','"
                . t('Seleccione', 'nucleo_etiqueta') .
                "');}",
                'data' => 'js:{periodoingreso_id:$("#' . $periodoObject . '").val(),programaacademico_id:$("#' . $programaAcademicoObject . '").val()}'
                    //leave out the data key to pass all form values through
                    )
            ),
            'prompt' => t('Seleccionar', 'nucleo_etiqueta'),
                )
        );
        echo $form->error($model, $modelAttributeName);
    }

    static public function getSelectIngresoActividad($form, $model, $modelAttributeName, $periodoIngreso, $programaAcademico, $periodoObject, $programaAcademicoObject, $ingresoCursoObject, $ingresoActividadObject, $filtrarPorEntrevista = false) {


        $dataIngresoActividad = array();
        if (isset($programaAcademico) && !is_null($programaAcademico)) {//updated
            $ingresoActividad = new IngresoActividad();
            $ingresoActividad->ingresoactividad_periodoingreso_id = $periodoIngreso->periodoingreso_id;
            $ingresoActividad->ingresoactividad_programaacademico_id = $programaAcademico->programaacademico_id;

            $dataIngresoActividad = CHtml::listData(
                            IngresoActividadService::getIngresoActividadPorPeriodoIngresoYProgramaAcademico($ingresoActividad), 'ingresoactividad_actividadingreso_id', 'ingresoactividad_actividadingreso_nombre'
            );
        }

        echo $form->dropDownList(
                $model, $modelAttributeName, $dataIngresoActividad, array(
            'prompt' => t('Seleccionar', 'nucleo_etiqueta')
                )
        );
        echo $form->error($model, $modelAttributeName);
    }

}